home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / PRG / nShell-Pro.sit / nShell-Pro / doc / nShell™ User's Guide.rsrc / TEXT_133.txt < prev    next >
Text File  |  1994-12-27  |  3KB  |  92 lines

  1.  
  2. Shell Variables
  3.  
  4. Shell variables are used to hold working values within each nShell(tm) document.  There are standard variables which are used by nShell to manage the processes of the shell.  In addition, the user may define custom shell variables.  Such variables provide a method of shorthand, often easing shell use.
  5.  
  6. Standard Variables
  7.  
  8. The standard shell variables are listed below:
  9.  
  10. TMP        - The directory used to hold temporary files
  11. PATH    - The command search path
  12. HOME    - The location of the nShell application
  13. PWD     - The current working directory
  14.  
  15. The PATH variable may be modified using the "path"command.  The "cd" command updates the PWD variable.  In addition, the user may override any of these values using the "set" command.
  16.  
  17. By convention, upper case characters are used for shell control variables and lower case characters are used for user variables.
  18.  
  19. The "set", "unset" and "env" commands allow you to access shell variables from the command line.
  20.  
  21. Special Variables
  22.  
  23. The following variables serve special purposes within the nShell environment:
  24.  
  25. $?        The return value from the previous command
  26. $#        The number of parameters passed to a script
  27. $0        The name of an executing script
  28. $1..$n        Parameters passed to a script
  29.  
  30. Using Shell Variables
  31.  
  32. set
  33.  
  34. The "set" command creates or modifies shell variables.  Its format is "set <name> <value>".  Variable names may be up to 31 characters in length and their values may be up to 255 characters.  Consider the following command:
  35.  
  36.     % set kitty "meow meow meow"
  37.  
  38. This sets the value of a variable called "kitty" to "meow meow meow".
  39.  
  40. env
  41.  
  42. The "env" (short for environment) command lists the contents of one or more shell variables:
  43.  
  44.     % env kitty
  45.     kitty="meow meow meow"
  46.  
  47. An "env" command with no parameters lists all current shell variables.
  48.  
  49. unset
  50.  
  51. To remove an existing variable, use the "unset" command.  Consider the sequence:
  52.  
  53.     % set duck quack
  54.     % env duck
  55.     duck="quack"
  56.     % unset duck
  57.     % env duck
  58.     % 
  59.  
  60. Examples
  61.  
  62. To evaluate or "expand" a shell variable within a command line, the "$" character is used.  The shell looks up the name immediately following a "$" and substitutes its value:
  63.  
  64.     % set duck quack
  65.     % echo $duck
  66.     quack
  67.  
  68. The variable expansion works within double quotes also:
  69.  
  70.     % echo "Did I hear a $duck?"
  71.     Did I hear a quack?
  72.  
  73. Single quotes may be used when you want to prevent variable expansion:
  74.  
  75.  % echo 'Did I hear a $duck?'
  76.  Did I hear a $duck?
  77.  
  78. Sometimes we get in a bind because we want to put the variable right up against other text.  The following command fails because the shell reads it as asking for a variable called "ducking":
  79.  
  80.  % echo "Did I hear $ducking?"
  81.  Did I hear $ducking?
  82.  
  83. The "{}" characters may be used to isolate a variable name:
  84.  
  85.  % echo "Did I hear ${duck}ing?"
  86.  Did I hear quacking?
  87.  
  88. Variables in Scripts
  89.  
  90. Shell variables may be used within scripts to manage passed parameters and track internal conditions.  The "Scripting" section of this manual describes how shell parameters become the default shell variables $0..$n.  In addition, the "set" "unset" and "env" commands may be used to create and modify variables within a script.
  91.  
  92. It is important to note that while a script may modify any variable, all changes are temporary and are discarded when the script terminates.